﻿@model IEnumerable<CSCSN.ViewModels.ApplicationTaskVM>

@{
    ViewData["Title"] = "Index";


    // 提取控制器路径
    var controllerPath = "/" + ViewContext.RouteData.Values["controller"].ToString();

    // 新建或者编辑对象的路径
    var creatOrEditUrlString = controllerPath + "/CreateOrEdit/";
    // 根据关键词检索列表数据的路径
    var searchWithKeywordUrlString = controllerPath + "/List?keyword=";
    // 明细数据路径
    var detailUrlString = controllerPath + "/Detail/";
    // 删除数据路径
    var deleteUrlString = controllerPath + "/Delete/";
    // 缺省的列表页路径
    var defaultListUrlString = controllerPath + "/List/";
    // 用户添加任务路径
    var userAddTaskListUrlString = controllerPath + "/UserAddTask/";




}


<div id="navigatorTreeViewContainer">

    <div id="mainWorkPlaceArea">
        <partial name="List" model="@Model" />
    </div>

    <!-- 用于处理添加任务提醒以及返回添加错误信息的模态对话框 -->
    <div class="modal fade" id="userAddTaskItemModal" tabindex="-1" role="dialog" aria-labelledby="userAddTaskItemModal" aria-hidden="true">
        <div class="modal-dialog modal-dialog-centered" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h3 class="modal-title" id="exampleModalLongTitle"></h3>
                </div>
                <div class="modal-body" id="" style="color:red">
                    <p id="userAddTaskModalMessage" style="color:red"></p>                            <!--这是一个空的文字段落标签，用于显示所需要的提示信息-->
                    <p id="userAddTaskModalErrMessage" style="color:red"></p>                         <!--这是一个空的文字段落标签，用于显示数据操作是否成功-->

                    <input type="hidden" name="businessObjectID" id="businessObjectID" />        <!--这个标签用于转移待添加任务的ID-->
                    <input type="hidden" name="controllerName" id="controllerName" />            <!--这个标签用于转移待添加任务的控制器名称-->
                    <input type="hidden" name="userAddTaskUrlString" id="userAddTaskUrlString" /><!--这个标签用于转移待添加任务的提交的路径-->
                    <input type="hidden" name="defaultUrlString" id="defaultUrlString" />        <!--这个标签用于转移待添加任务成功后返回的路径-->
                    <input type="hidden" name="mainWorkPlaceAreaId" id="mainWorkPlaceAreaId" />  <!--这个标签用于转移显示返回数据 UI 的 div 标识-->
                    <input type="hidden" name="pageIndex" id="pageIndex" />                      <!--这个标签用于转移当前数据位于的页数-->
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
                    <!-- 这个按钮执行的方法在 appFunctionForCommon.js 中实现，作用是提取渲染这个页面时所创建的上面 5 个 input 标签元素的值，提交到删除的 action 处理，成功则跳转回缺省列表页 -->
                    <button type="button" class="btn btn-danger" onclick="appGotoUserAddTaskPaginateBoForS()">确认</button>
                </div>
            </div>
        </div>
    </div>

</div>


<!-- 支持使用 AJAX -->
@*<script src="~/lib/jquery-form/jquery.form.js"></script>*@

<!-- 实现用户添加、取消任务-->
<script>

    /**
 * 打开添加任务的提示对话框
 *  modalId 待打开的会话模态框的 id
 * itemId 待添加的数据元素的 Id
 *  message 提示信息
 *  creatUrlString 后端执行添加操作的 Url
 *  defaultUrlString 执行添加操作以后，返回的缺省页面对应的 action 路径
 * mainWorkPlaceAreaId 主显示区 div 的 id
 */

    function appOpenUserAddTaskItemModalForS(action,modalId, itemId, message, userAddTaskListUrlString, defaultUrlString, mainWorkPlaceAreaId, pageIndex) {
        $341('#' + modalId).modal({
            show: true,
            backdrop: 'static'
        });
        document.getElementById("userAddTaskModalMessage").innerHTML = message;
        document.getElementById("exampleModalLongTitle").innerHTML = action;
        $341('#businessObjectID').val(itemId);
        $341('#userAddTaskUrlString').val(userAddTaskListUrlString);
        $341('#defaultUrlString').val(defaultUrlString);
        $341('#mainWorkPlaceAreaId').val(mainWorkPlaceAreaId);
        $341('#pageIndex').val(pageIndex);
        document.getElementById("userAddTaskModalErrMessage").innerText = '';
    }



    /*
     * 对于列表元素执行实际的操作
     */
    function appGotoUserAddTaskPaginateBoForS() {
        var boVMID = $341('#businessObjectID').val();
        var userAddTaskUrl = $341('#userAddTaskUrlString').val();
        var urlString = $341('#defaultUrlString').val();
        var mainWorkPlaceAreaId = $341('#mainWorkPlaceAreaId').val();
        var pageIndex = $341('#pageIndex').val();
        $341.ajax({
            cache: false,
            type: 'get',
            async: true,
            url: userAddTaskUrl + boVMID,
            beforeSend: function () {
            }
        }).done(function (delStatus) {
            if (delStatus === true) {
                $341('#userAddTaskItemModal').modal('hide');
                // 刷新列表页
                appGotoDefaultPaginatePageForS(pageIndex, urlString, mainWorkPlaceAreaId);
            } else {
                document.getElementById("userAddTaskModalErrMessage").innerText = '请勿重复添加任务';
            }
        }).fail(function () {
            alert("请您登录后操作！");
            window.location.href = "/Account/Login";
        }).always(function () {
        });
    }





</script>



<script>
    /*
*局部刷新页面实现
 * pageIndex 当前页码
*  urlString 后台 action 路径
*  mainWorkPlaceAreaId 主显示区域 Div 的 id
*/
    function appGotoDefaultPaginatePageForS(pageIndex, urlString, mainWorkPlaceAreaId) {
        $341.ajax({
            cache: false,
            type: "get",
            async: true,
            url: urlString,
            data: { "pageIndex": pageIndex },
            beforeSend: function () {
                document.getElementById(mainWorkPlaceAreaId).innerHTML = "<p style='margin-top:80px;' align='center'> <i class='fa fa-spinner fa-pulse fa-2x'></i></p>" +
                    "<p style='margin-top:20px;' align='center'>  数据加载中，请稍候...</p>";
            }
        }).done(function (data) {
            document.getElementById(mainWorkPlaceAreaId).innerHTML = data;
            //resetDivHeight();
            //appinitialCommonListContainer();
            //initialPurchaserCommoditySearchList();

        }).fail(function (jqXHR, textStatus, errorThrown) {
            // 调试时候观察错误
            console.error("调试错误:" + errorThrown);
        }).always(function () {
        });
    }
</script>











